package com.csun.dsms.model.huang;

import lombok.Data;

import java.io.Serializable;
import java.util.List;


//{
//        "serviceResponse": {
//        "authenticationSuccess": {
//        "user": "test1@939a6c08caec11e986998c1645557fc8",
//        "attributes": {
//        "tenementId": ["939a6c08caec11e986998c1645557fc8"],
//        "isFromNewLogin": [false],
//        "authenticationDate": [1742267328.245000000],
//        "roleId": ["e30d31290e494090a67f186ce52b0932"],
//        "successfulAuthenticationHandlers": ["QueryDatabaseAuthenticationHandler"],
//        "mobile": ["13832190817"],
//        "availableFlag": ["true"],
//        "userName": ["测试1"],
//        "userId": ["939b407a2b2f4b64aef4f40b1e55304b"],
//        "orgId": ["02ddc2d1fd844316aa104d17289372ae"],
//        "imId": ["1000301"],
//        "credentialType": ["UsernamePasswordCredential"],
//        "authenticationMethod": ["QueryDatabaseAuthenticationHandler"],
//        "userAccount": ["test1"],
//        "longTermAuthenticationRequestTokenUsed": [false],
//        "position": [""],
//        "email": ["test1@hgoa.com"],
//        "statusFlag": ["true"]
//        }
//        }
//        }
//}


@Data
public class HgOaLoginData implements Serializable {

    private static final long serialVersionUID = -72131614122143L;


    private ServiceResponse serviceResponse;

    @Data
    public static class ServiceResponse implements Serializable {

        private AuthenticationSuccess authenticationSuccess;
    }

    @Data
    public static class AuthenticationSuccess implements Serializable {

        private String user;
        private Attributes attributes;
    }

    @Data
    public static class Attributes implements Serializable {
        private static final long serialVersionUID = 1L;

        private List<String> tenementId;

        private List<Boolean> isFromNewLogin;

        private List<Double> authenticationDate;

        private List<String> roleId;

        private List<String> successfulAuthenticationHandlers;

        private List<String> mobile;

        private List<String> availableFlag;

        private List<String> userName;

        private List<String> userId;

        private List<String> orgId;

        private List<String> imId;

        private List<String> credentialType;

        private List<String> authenticationMethod;

        private List<String> userAccount;

        private List<Boolean> longTermAuthenticationRequestTokenUsed;

        private List<String> position;

        private List<String> email;

        private List<String> statusFlag;
    }


}
